While a migrating to a cloud-based computing services supplier, organizations are finding that many customers still prefer a classical model of packaged software delivery and deployment to systems located on-premise. This poses a challenge to application developers as to developing software that is optimized for both a cloud-computing network (and supporting concepts that are only applicable to cloud environment) and remaining deployable and operable in an on-premise environment.